package com.iking.toolkit.formatdeal.service;

import com.iking.toolkit.formatdeal.model.dto.AddWatermarkToPdfDTO;
import com.iking.toolkit.model.Msg;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.web.multipart.MultipartFile;

/**
 * 功能描述:水印管理
 *
 * @author: yfl
 * @date: 2025/8/4 17:49
 */
public interface WatermarkService {
    /**
     * 添加暗水印到pdf文件上
     *
     * @param multipartFile
     * @param addWatermarkToPdfDTO
     * @param response
     * @return
     */
    Msg addWatermarkToPdf(MultipartFile multipartFile, @Valid AddWatermarkToPdfDTO addWatermarkToPdfDTO, HttpServletResponse response);

    /**
     * 添加暗水印到pdf文件url上
     *
     * @param addWatermarkToPdfDTO
     * @param response
     * @return
     */
    Msg addWatermarkToUrl(@Valid AddWatermarkToPdfDTO addWatermarkToPdfDTO, HttpServletResponse response);

    /**
     * 上传pdf文件,解析暗水印,返回暗水印图片
     *
     * @param multipartFile
     * @param response
     * @return
     */
    Msg extractWatermarkFromPdf(MultipartFile multipartFile, HttpServletResponse response);

    /**
     * 上传图片,解析暗水印,返回暗水印图片
     *
     * @param multipartFile
     * @param response
     * @return
     */
    Msg extractWatermarkFromImage(MultipartFile multipartFile, HttpServletResponse response);
}
